package cz.schovjan.proj.service;

import java.util.Date;
import java.util.List;

import cz.schovjan.proj.dto.Member;

/**
 * Rozhrani pro praci se cleny.
 * @author schovjan
 *
 */
public interface IMember {
	
	/**
	 * Vraci seznam vsech clenu kapel v systemu.
	 * @return
	 */
	public List<Member> findAll();
	
	/**
	 * Vraci clena dle jeho id.
	 * @param id
	 * @return
	 */
	public Member find(int id);

	/**
	 * Pridani clena do DB.
	 * @param nick
	 * @param name
	 * @param surname
	 * @param email
	 * @param phone
	 * @param dateOfBirth
	 * @param job
	 */
	void add(String nick, String name, String surname, String email,
			String phone, Date dateOfBirth, String job);

	/**
	 * Smaze clena podle jeho id.
	 * @param id
	 */
	public void delete(int id);

	/**
	 * Ulozi zmeny ve clenovi.
	 * @param id
	 * @param nick
	 * @param name
	 * @param surname
	 * @param email
	 * @param phone
	 * @param dateOfBirth
	 * @param job
	 */
	public void save(Integer id, String nick, String name, String surname, String email,
			String phone, Date dateOfBirth, String job);

	/**
	 * Vrati cleny ktere nejsou cleny konkretni kapely
	 * @param id kapely, ktere nejsou cleny
	 * @return
	 */
	public List<Member> findOtherMembers(int id);
	
}
